﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using AccesoDatos.Manejador;
using AccesoDatos.Objetos;
using Conexion;
using System.Windows.Forms;

namespace Autorizacion_facturas_caja
{
    public partial class frmPrestamos_GenerarReporte : Form
    {
        Manejador_Empleado_Captura Mane = new Manejador_Empleado_Captura();
        Manejador_Prestamos_Reporte Man = new Manejador_Prestamos_Reporte();
        objPrestamos objP = new objPrestamos();
        objRH objR = new objRH();
        DateTime Fecha_Inicio = new DateTime();
        DateTime Fecha_Fin = new DateTime();
        DateTime Fecha_Hoy = DateTime.Today;
        string autoriza;
        public frmPrestamos_GenerarReporte()
        {
            InitializeComponent();
            ObtieneDatosCombo();
            Fecha_Hoy = Fecha_Hoy.AddDays(-15);
            dteFechaInicio.Text = Fecha_Hoy.ToShortDateString(); 
            ToolTip1();
        }
        #region funciones 
            private void ObtieneDatosCombo()
        {
            //Obtiene los datos de la tabla cat_sucursales al combo de sucursales
            cmbSucursal.DataSource = Mane.ObtieneSucursales();
            cmbSucursal.ValueMember = "SucId";
            cmbSucursal.DisplayMember = "Nombre";
        }
            private void obtieneCampos(){

                if (chkdTodas.Checked) objR.SucId = "";
                else objR.SucId = cmbSucursal.SelectedValue.ToString();
            Fecha_Inicio = dteFechaInicio.Value;
            Fecha_Fin = dteFechaFin.Value;
            if (rdoSI.Checked) autoriza = "SI";
            else autoriza = "NO";
        }
            private void propiedadesColumnas()
        {
            try
            {
                //QUITA LA PRIMERA COLUMNA
                this.dataGridView1.RowHeadersVisible = false;

                //Formato
                this.dataGridView1.Columns["cantidad_autorizada"].DefaultCellStyle.Format = "c";
                this.dataGridView1.Columns["cantidad_solicitada"].DefaultCellStyle.Format = "c";

                /*Esconde las columnas*/
                this.dataGridView1.Columns["id_empleado"].Visible = false;
                this.dataGridView1.Columns["id_sucursal"].Visible = false;
                this.dataGridView1.Columns["fecha_ingreso"].Visible = false;
                this.dataGridView1.Columns["id_jefe"].Visible = false;
                this.dataGridView1.Columns["cuenta_banco"].Visible = false;
                this.dataGridView1.Columns["estatus"].Visible = false;
                this.dataGridView1.Columns["nombre"].Visible = false;
                this.dataGridView1.Columns["apellidos"].Visible = false;
                this.dataGridView1.Columns["id_prestamo"].Visible = false;
                this.dataGridView1.Columns["id_empleado1"].Visible = false;
                this.dataGridView1.Columns["estatus1"].Visible = false;
                this.dataGridView1.Columns["descripcion"].Visible = false;
                this.dataGridView1.Columns["plazo"].Visible = false;
                this.dataGridView1.Columns["cantidad_descontar"].Visible = false;
                this.dataGridView1.Columns["cantidad_pagada"].Visible = false;
                this.dataGridView1.Columns["prioridad"].Visible = false;
                this.dataGridView1.Columns["razones"].Visible = false;
                this.dataGridView1.Columns["autorizado"].Visible = false;
                this.dataGridView1.Columns["departamento"].Visible = false;
                this.dataGridView1.Columns["tipo_prestamo"].Visible = false;
                this.dataGridView1.Columns["empresa"].Visible = false;

                //Renombra columnas
                this.dataGridView1.Columns["Nombre_apellidos"].HeaderText = "EMPLEADO";
                this.dataGridView1.Columns["departamento"].HeaderText = "DEPARTAMENTO";
                this.dataGridView1.Columns["puesto"].HeaderText = "PUESTO";
                this.dataGridView1.Columns["fecha_autorizacion"].HeaderText = "FECHA AUTORIZACIÓN";
                this.dataGridView1.Columns["fecha_solicitud"].HeaderText = "FECHA SOLICITUD";
                this.dataGridView1.Columns["cantidad_autorizada"].HeaderText = "CANTIDAD AUTORIZADA";
                this.dataGridView1.Columns["cantidad_solicitada"].HeaderText = "CANTIDAD SOLICITUD";

                //Ordena
                this.dataGridView1.Columns["Nombre_apellidos"].DisplayIndex = 0;
                this.dataGridView1.Columns["departamento"].DisplayIndex = 2;
                this.dataGridView1.Columns["puesto"].DisplayIndex = 3;

                //Alinea
                this.dataGridView1.Columns["Nombre_apellidos"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;

                this.dataGridView1.Columns["departamento"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                this.dataGridView1.Columns["puesto"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;

            }
            catch { }
        }
            private void llenaDatagrid() {
                try
                {
                    obtieneCampos();
                    dataGridView1.DataSource = Man.Reporte(objR.SucId, Fecha_Inicio, Fecha_Fin, autoriza);
                    propiedadesColumnas();
                }
                catch { }
        }
            private void ToolTip1()
        {

            ToolTip toolTip1 = new ToolTip();
            toolTip1.ShowAlways = true;
            toolTip1.SetToolTip(this.btnBuscar, "BUSCAR");
            toolTip1.SetToolTip(this.btnInforme, "GENERAR REPORTE");
            toolTip1.SetToolTip(this.btnSalir, "REGRESAR");

        }
        #endregion
   
        #region Botones
            private void btnBuscar_Click(object sender, EventArgs e)
        {
            llenaDatagrid();   
        }

            private void btnInforme_Click(object sender, EventArgs e)
        {
            
            DataTable data = Man.Reporte(objR.SucId, Fecha_Inicio, Fecha_Fin, autoriza);
            frmPrestamo_Reporte_Sucursal rep = new frmPrestamo_Reporte_Sucursal(data);
            rep.ShowDialog();
        }

            private void btnSalir_Click(object sender, EventArgs e)
        {
            Close();
        }
        #endregion 

        #region eventos
            private void dteFechaInicio_ValueChanged(object sender, EventArgs e)
            {
                if (dteFechaInicio.Value > dteFechaFin.Value)
                {
                    dteFechaInicio.Value = DateTime.Today;
                    MessageBox.Show("FECHA INCORRECTA", "ALERTA");
                }
            }

            private void dteFechaFin_ValueChanged(object sender, EventArgs e)
            {
                if (dteFechaInicio.Value > dteFechaFin.Value)
                {
                    dteFechaFin.Value = DateTime.Today;
                    MessageBox.Show("FECHA INCORRECTA", "ALERTA");
                }
            }

            private void chkdTodas_CheckedChanged(object sender, EventArgs e)
            {
                llenaDatagrid();
                if (chkdTodas.Checked) cmbSucursal.Enabled = false;
                else cmbSucursal.Enabled=true;
            }

            private void cmbSucursal_SelectedIndexChanged(object sender, EventArgs e)
            {
                llenaDatagrid();

            }
            #endregion

    }
}
